B. Калькулятор

Задание связано с обратной польской нотацией. Она используется для парсинга арифметических выражений. Еще её иногда называют постфиксной нотацией.

В постфиксной нотации операнды расположены перед знаками операций.

Пример 1:<br>
3 4 +<br>
означает 3 + 4 и равно 7<br>

Пример 2:<br>
12 5 /<br>
Так как деление целочисленное, то в результате получим 2.<br>

Пример 3:<br>
10 2 4 * -<br>
означает 10 - 2 * 4 и равно 2<br>

Разберём последний пример подробнее:<br>

Знак * стоит сразу после чисел 2 и 4, значит к ним нужно применить операцию, которую этот знак обозначает, то есть перемножить эти два числа. В результате получим 8.<br>

После этого выражение приобретёт вид:<br>

10 8 -<br>

Операцию «минус» нужно применить к двум идущим перед ней числам, то есть 10 и 8. В итоге получаем 2.

Рассмотрим алгоритм более подробно. Для его реализации будем использовать стек.

Для вычисления значения выражения, записанного в обратной польской нотации, нужно считывать выражение слева направо и придерживаться следующих шагов:

1. Обработка входного символа:<br>
1.1) Если на вход подан операнд, он помещается на вершину стека.<br>
1.2) Если на вход подан знак операции, то эта операция выполняется над требуемым количеством значений, взятых из стека в порядке добавления. Результат выполненной операции помещается на вершину стека.<br>
2). Если входной набор символов обработан не полностью, перейти к шагу 1.<br>
3.После полной обработки входного набора символов результат вычисления выражения находится в вершине стека. Если в стеке осталось несколько чисел, то надо вывести только верхний элемент.<br>
   
Замечание про отрицательные числа и деление: в этой задаче под делением понимается математическое целочисленное деление. Это значит, что округление всегда происходит вниз. А именно: если a / b = c, то b ⋅ c — это наибольшее число, которое не превосходит a и одновременно делится без остатка на b.

Например, -1 / 3 = -1. Будьте осторожны: в C++, Java и Go, например, деление чисел работает иначе.

В текущей задаче гарантируется, что деления на отрицательное число нет.

Формат ввода<br>
В единственной строке дано выражение, записанное в обратной польской нотации. Числа и арифметические операции записаны через пробел.

На вход могут подаваться операции: +, -, *, / и числа, по модулю не превосходящие 10000.

Гарантируется, что значение промежуточных выражений в тестовых данных по модулю не больше 50000.

Формат вывода<br>
Выведите единственное число — значение выражения.

Пример 1<br>
Ввод:<br>
2 1 + 3 *<br>

Вывод:<br>
9<br>

Пример 2<br>
Ввод:<br>	
7 2 + 4 * 2 +<br>

Вывод:<br>
38<br>
